// pages/cart/cart.js
const app = getApp()

Page({
  data: {
    cartItems: [],
    totalPrice: 0,
    totalCount: 0
  },

  onLoad() {
    this.loadCartItems()
  },

  onShow() {
    this.loadCartItems()
  },

  // 加载购物车数据
  loadCartItems() {
    const cartItems = wx.getStorageSync('cartItems') || []
    this.setData({
      cartItems: cartItems
    })
    this.calculateTotal()
  },

  // 计算总价和总数量
  calculateTotal() {
    let totalPrice = 0
    let totalCount = 0
    
    this.data.cartItems.forEach(item => {
      totalPrice += item.price * item.number
      totalCount += item.number
    })
    
    this.setData({
      totalPrice: totalPrice.toFixed(2),
      totalCount: totalCount
    })
  },

  // 增加商品数量
  increaseItem(e) {
    const index = e.currentTarget.dataset.index
    const cartItems = [...this.data.cartItems]
    cartItems[index].number += 1
    
    this.setData({
      cartItems: cartItems
    })
    
    this.saveCartItems()
    this.calculateTotal()
  },

  // 减少商品数量
  decreaseItem(e) {
    const index = e.currentTarget.dataset.index
    const cartItems = [...this.data.cartItems]
    
    if (cartItems[index].number > 1) {
      cartItems[index].number -= 1
    } else {
      cartItems.splice(index, 1)
    }
    
    this.setData({
      cartItems: cartItems
    })
    
    this.saveCartItems()
    this.calculateTotal()
  },

  // 删除商品
  deleteItem(e) {
    const index = e.currentTarget.dataset.index
    const item = this.data.cartItems[index]
    
    wx.showModal({
      title: '确认删除',
      content: `确定要删除 ${item.name} 吗？`,
      success: (res) => {
        if (res.confirm) {
          const cartItems = [...this.data.cartItems]
          cartItems.splice(index, 1)
          
          this.setData({
            cartItems: cartItems
          })
          
          this.saveCartItems()
          this.calculateTotal()
        }
      }
    })
  },

  // 清空购物车
  clearCart() {
    if (this.data.cartItems.length === 0) {
      wx.showToast({
        title: '购物车已空',
        icon: 'none'
      })
      return
    }
    
    wx.showModal({
      title: '确认清空',
      content: '确定要清空购物车吗？',
      success: (res) => {
        if (res.confirm) {
          this.setData({
            cartItems: [],
            totalPrice: 0,
            totalCount: 0
          })
          this.saveCartItems()
          
          wx.showToast({
            title: '购物车已清空',
            icon: 'success'
          })
        }
      }
    })
  },

  // 保存购物车数据
  saveCartItems() {
    wx.setStorageSync('cartItems', this.data.cartItems)
  },

  // 去结算
  goToCheckout() {
    if (this.data.cartItems.length === 0) {
      wx.showToast({
        title: '购物车为空',
        icon: 'none'
      })
      return
    }
    
    wx.navigateTo({
      url: '/pages/checkout/checkout'
    })
  },

  // 继续购物
  continueShopping() {
    wx.navigateBack()
  }
})